Conversation
… at pickup-time (Aaron 2026-05-02 two-message rule) + 2337Z tick shard Aaron 2026-05-02 named a discipline that mechanizes depends_on relationship-analysis at the two natural points where the field's correct value is being decided: 1. AT-CREATION-TIME: when filing a new backlog row, search the existing backlog for anything it might depend on; populate depends_on at file-time rather than filing with empty default. *"when wehn we create new backlog items we should search the baclog for anyting it might depend on from now on too and remember taht"* 2. AT-PICKUP-TIME: when starting work on an existing row, if it feels like it's missing substantial substrate, search the backlog for the missing piece. *"maybe add a rule that's like when picking up an item that feels like it's missing substantial substraite see if there is already those prereqs in the backlog"* + *"we should remember somethign liek that"* Three outcomes per trigger: found → add to depends_on; not found → file new prereq row first, defer original; already-listed → proceed. Composes with PR #1246 schema-completion (160/160 coverage gave the write target; this discipline fills it organically per natural-trigger rather than as a separate concentrated effort). The act of writing or starting IS the analysis — answers the honest "I'm not deciding what depends on what" gap PR #1246 left open. Tick 2337Z shard included. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new “depends_on backlog-search discipline” memory capturing two lifecycle trigger points (row creation + work pickup), indexes it in memory/MEMORY.md, and records the associated tick shard.
Changes:
- Add a new feedback memory documenting the two-trigger
depends_onbacklog-search protocol. - Update
memory/MEMORY.mdwith a newest-first index entry for the new memory. - Add tick-history shard
2337Zunderdocs/hygiene-history/ticks/2026/05/02/.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| memory/feedback_at_pickup_time_prereq_check_discipline_aaron_2026_05_02.md | New feedback memo defining the at-creation + at-pickup depends_on backlog-search discipline and operational protocol. |
| memory/MEMORY.md | Adds newest-first index entry linking to the new memo. |
| docs/hygiene-history/ticks/2026/05/02/2337Z.md | Adds tick shard documenting the cycle and related PR activity. |
Merged
3 tasks
Member
Author
|
Both findings addressed in follow-up PR #1249:
Resolving both threads since the fixes have landed in flight. |
AceHack
added a commit
that referenced
this pull request
May 2, 2026
…ollow-up + #1245 rebase #1246 (depends_on 100%) + #1247 (at-creation/at-pickup discipline) merged on main. #1245 (skill-flywheel memo) DIRTY conflict cleared via rebase, auto-merge armed. #1248 auto-merge armed. #1249 opened addressing #1247 post-merge Copilot findings (filename rename + grep-placeholder fix). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 2, 2026
…bare-grep placeholder Two Copilot post-merge findings on PR #1247: P2 — filename mismatch. The MEMORY.md entry described a two-trigger discipline (creation + pickup), but the filename was feedback_at_pickup_time_prereq_check_discipline_*, which reads like pickup-only. Renamed to feedback_depends_on_backlog_search_discipline_at_creation_and_at_pickup_* so the filename matches the substantive content. P1 — bare grep placeholder. The at-creation procedure had `grep -l "tags:.*<tag>" ...` where `...` was a placeholder. Copilot caught the risk: a contributor copy-pasting literally gets a repo-wide grep that pulls in references/ clones and other noise. Replaced with explicit `grep -l "tags:.*<tag>" docs/backlog/P*/B-*.md`; added a sentence warning against bare placeholders. MEMORY.md pointer updated to the new filename. Worked example of "if it matters is almost always yes": post-merge findings on substrate-rule memos warrant their own follow-up PR rather than backlog deferral. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 2, 2026
…ollow-up + #1245 rebase #1246 (depends_on 100%) + #1247 (at-creation/at-pickup discipline) merged on main. #1245 (skill-flywheel memo) DIRTY conflict cleared via rebase, auto-merge armed. #1248 auto-merge armed. #1249 opened addressing #1247 post-merge Copilot findings (filename rename + grep-placeholder fix). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 2, 2026
…ries Multiple post-merge findings across PRs #1245, #1247, #1248 addressed: PR #1247 followup (this PR's primary purpose): - Renamed feedback_at_pickup_time_prereq_check_discipline_* → feedback_depends_on_backlog_search_discipline_at_creation_and_at_pickup_* to reflect both triggers - Fixed bare-grep-placeholder in the at-creation procedure PR #1245 + #1248 post-merge consequences (rebase-discovered): - Stale references to old filename in MEMORY.md (line 8 duplicate from #1247's original index entry that survived the rename) + future-domain memo (lines 35 and 90 referenced the old filename) — all updated to new filename - MEMORY.md index entries trimmed for brevity per #1248's P2 finding (memory/README.md "keep entries terse" rule) - Quotes in skill-flywheel index entry that didn't match verbatim source removed; verbatim preservation lives in the memo body, not the one-line index Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 2, 2026
…bare-grep placeholder (#1249) * review(pr-1247-followup): rename file to reflect both triggers + fix bare-grep placeholder Two Copilot post-merge findings on PR #1247: P2 — filename mismatch. The MEMORY.md entry described a two-trigger discipline (creation + pickup), but the filename was feedback_at_pickup_time_prereq_check_discipline_*, which reads like pickup-only. Renamed to feedback_depends_on_backlog_search_discipline_at_creation_and_at_pickup_* so the filename matches the substantive content. P1 — bare grep placeholder. The at-creation procedure had `grep -l "tags:.*<tag>" ...` where `...` was a placeholder. Copilot caught the risk: a contributor copy-pasting literally gets a repo-wide grep that pulls in references/ clones and other noise. Replaced with explicit `grep -l "tags:.*<tag>" docs/backlog/P*/B-*.md`; added a sentence warning against bare placeholders. MEMORY.md pointer updated to the new filename. Worked example of "if it matters is almost always yes": post-merge findings on substrate-rule memos warrant their own follow-up PR rather than backlog deferral. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-02T23:54Z — three-merge tick + #1249 follow-up + #1245 rebase #1246 (depends_on 100%) + #1247 (at-creation/at-pickup discipline) merged on main. #1245 (skill-flywheel memo) DIRTY conflict cleared via rebase, auto-merge armed. #1248 auto-merge armed. #1249 opened addressing #1247 post-merge Copilot findings (filename rename + grep-placeholder fix). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review(post-merge): fix stale filename refs + trim long MEMORY.md entries Multiple post-merge findings across PRs #1245, #1247, #1248 addressed: PR #1247 followup (this PR's primary purpose): - Renamed feedback_at_pickup_time_prereq_check_discipline_* → feedback_depends_on_backlog_search_discipline_at_creation_and_at_pickup_* to reflect both triggers - Fixed bare-grep-placeholder in the at-creation procedure PR #1245 + #1248 post-merge consequences (rebase-discovered): - Stale references to old filename in MEMORY.md (line 8 duplicate from #1247's original index entry that survived the rename) + future-domain memo (lines 35 and 90 referenced the old filename) — all updated to new filename - MEMORY.md index entries trimmed for brevity per #1248's P2 finding (memory/README.md "keep entries terse" rule) - Quotes in skill-flywheel index entry that didn't match verbatim source removed; verbatim preservation lives in the memo body, not the one-line index Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-02T23:57Z — #1245 + #1248 merged + #1249 rebased + 4 post-merge findings triaged Two-merge tick: #1245 (skill-flywheel) + #1248 (future-skill-domain). PR #1249 went DIRTY from concurrent merges; rebase cleared it + caught stale filename refs the rename was supposed to update. 4 post-merge findings triaged: 2 false positives (table double-pipes — Copilot rendering bug), 1 real (verbatim-quote mismatch in index entry; quotes removed since terseness > quote- preservation in MEMORY.md), 1 real (entry too long; trimmed to one-liner per memory/README.md). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
5 tasks
AceHack
added a commit
that referenced
this pull request
May 3, 2026
…ailure-mode corrective (Otto 2026-05-03) After 9 distinct claim-vs-reality drift instances caught across 7 PRs in this session (#1245 #1247 #1248 #1250 #1252 #1253 #1254), the pattern is consistent enough to warrant a named discipline. CARVED RULE — Before stating any fact in substrate (memo / doc / commit message / PR description / shard), verify it empirically. Specifically: before writing "<file> exists" / "<command> returns <X>" / "<table> has <N> rows" / "<tool> ships" / "<ADR> exists" / "<dir> is present" — run the actual ls / grep / count / find command FIRST, then commit the claim. Generalizes existing rules at the broader any-substrate-claim layer: Otto-247 (version-currency) + Otto-364 (search-first authority) + verify-before-deferring + Otto-363 (substrate- or-it-didn't-happen) + assumed-state-vs-actual-state. Scope: - IN: fact-claims about current repo state, command output, file existence, count totals, tool shipped/proposed - OUT: verbatim quotes (preserve typos), hedged speculation, future predictions, normative recommendations Mechanization path: tools/substrate-claim-checker/ TS tool (proposed, not yet built; per Aaron 2026-05-03 no-dynamic- commands rule + Phase-1b backlog candidate). Discipline is manual until tool ships. Worked example: PR #1250 Layer-7 ADR claim ("ls docs/DECISIONS/ | grep returns nothing") — verify-then-claim would have caught this pre-commit by running the command, observing the actual ADR match, and correcting the claim before publishing. Composes with the bugs-per-PR-as-immune-system-health metric: this discipline moves bugs-per-PR closer to single-digit productive zone (currently caught post-merge; should be caught pre-publish). Aarav's B-0169 review predicted this pattern with the worked- examples-need-empirical-grounding framing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Merged
5 tasks
AceHack
added a commit
that referenced
this pull request
May 3, 2026
…-cell pipe escape fix (#1255) * review(pr-1253-postmerge): mark expand-from-closure.ts as proposed + fix table-cell pipe escape 2 Copilot post-merge findings on PR #1253 (already merged): 1. **P1 expand-from-closure.ts doesn't exist** — referenced as "the mechanizing tool" without marking proposed/not-yet-built. Same class as the courier-ferry-protocol issue caught earlier. Fixed: added "(proposed, not yet built; named in feedback_ skill_flywheel_* as Phase-1b candidate)" qualifier and shifted tense to subjunctive ("would stay stable once shipped"). 2. **P1 table-cell pipe escape** — `ls docs/DECISIONS/ \| grep <pattern>` inside a markdown table cell used `\|` which doesn't copy-paste correctly even though it satisfied table- parser concerns. Rewrote to `find docs/DECISIONS/ -iname "*<pattern>*"` — single-command alternative that avoids the pipe-in-table-cell awkwardness entirely. The pattern this teaches: when a markdown table cell needs to show a pipe-using shell command, use a single-command alternative (find instead of ls|grep) rather than escaping. Escaping satisfies the parser but breaks copy-paste. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * free-memory(self-grading): verify-then-claim discipline as dominant failure-mode corrective (Otto 2026-05-03) After 9 distinct claim-vs-reality drift instances caught across 7 PRs in this session (#1245 #1247 #1248 #1250 #1252 #1253 #1254), the pattern is consistent enough to warrant a named discipline. CARVED RULE — Before stating any fact in substrate (memo / doc / commit message / PR description / shard), verify it empirically. Specifically: before writing "<file> exists" / "<command> returns <X>" / "<table> has <N> rows" / "<tool> ships" / "<ADR> exists" / "<dir> is present" — run the actual ls / grep / count / find command FIRST, then commit the claim. Generalizes existing rules at the broader any-substrate-claim layer: Otto-247 (version-currency) + Otto-364 (search-first authority) + verify-before-deferring + Otto-363 (substrate- or-it-didn't-happen) + assumed-state-vs-actual-state. Scope: - IN: fact-claims about current repo state, command output, file existence, count totals, tool shipped/proposed - OUT: verbatim quotes (preserve typos), hedged speculation, future predictions, normative recommendations Mechanization path: tools/substrate-claim-checker/ TS tool (proposed, not yet built; per Aaron 2026-05-03 no-dynamic- commands rule + Phase-1b backlog candidate). Discipline is manual until tool ships. Worked example: PR #1250 Layer-7 ADR claim ("ls docs/DECISIONS/ | grep returns nothing") — verify-then-claim would have caught this pre-commit by running the command, observing the actual ADR match, and correcting the claim before publishing. Composes with the bugs-per-PR-as-immune-system-health metric: this discipline moves bugs-per-PR closer to single-digit productive zone (currently caught post-merge; should be caught pre-publish). Aarav's B-0169 review predicted this pattern with the worked- examples-need-empirical-grounding framing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-03T00:31Z — verify-then-claim self-grading memo + #1252/#1253 merged Self-grading from 9 drift instances across 7 PRs in session: the verify-then-claim discipline captures the dominant failure mode for substrate authoring. Mechanization path identified (tools/substrate-claim-checker/ TS tool). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review(pr-1255): correct find→grep equivalence; preserve regex alternation semantics Copilot caught: `find docs/DECISIONS/ -iname "*<pattern>*"` is not equivalent to `ls | grep -iE "<pattern>"` because find's -iname only does shell glob, not regex alternation. The worked-example elsewhere uses regex alternation (double.hop|acehack|mirror) which would silently fail under find -iname. Correct fix: use `grep -ilrE "<pattern>" docs/DECISIONS/` which is single-command (no pipe; avoids markdown-table escape awkwardness) AND regex-capable (preserves alternation semantics). Worked example of the verify-then-claim discipline I just landed: I should have run BOTH commands and compared outputs on a sample input before substituting them. The previous fix (replacing pipe with find) substituted syntactic form-equivalence for semantic-equivalence — exactly the class of drift the discipline guards against. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review(pr-1255): rewrite drift table to remove `\|` table-cell escapes + correct hook semantics Two real Copilot findings on PR #1255: 1. **`\|` in drift catalogue table** — the very memo cataloguing drift contained its own escape-vs-copy-paste drift. Rewrote rows 5 and 7 to describe the search prose-style rather than showing the literal pipe inside markdown table cells. 2. **Pre-commit hook can't validate commit-message claims** — git pre-commit hooks fire BEFORE commit-message exists; they can only check files staged for commit. Updated mechanization path: split into `pre-commit` hook (validates staged-file content), `commit-msg` hook (validates the commit message itself, fires AFTER it's written), and CI check (validates PR descriptions which are authored on the host, not pre-commit). The third Copilot finding (find→grep equivalence on feedback_skills_as_carved_sentences_*) is stale — already fixed in commit 862d190 which is on this branch. Will resolve as "already addressed" when commenting. Both fixes are themselves recursive applications of verify-then- claim: rewriting the drift catalogue uncovers the catalogue's own drift; clarifying hook semantics required actually verifying git's hook ordering (pre-commit fires before commit-msg). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-03T00:37Z — verify-then-claim memo's drift catalogue contained its own drift Catalogue-substrate-drift caught: the memo cataloguing 9 drift instances had its own `\|` table-cell escape drift in 2 catalogue rows + a pre-commit-vs-commit-msg hook semantic error. Recursive failure on the very memo naming the failure mode is the strongest empirical urgency for mechanization (tools/substrate-claim-checker/ TS tool). Manual discipline insufficient. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
May 3, 2026
…ist + tool-status across memo 4 substantive findings on PR #1259 (in-flight): 1. **Section heading drift** — "## Empirical evidence (this session, 9+ PRs, 15+ distinct drift instances)" still said "15+" while body table has 20 rows + summary says 20. Updated heading to "20 distinct drift instances". 2. **Carved sentence stale at "9"** — line 115 still said "9 instances caught across 7 PRs". Updated to "20 instances across 9+ PRs" + named that instances #10-#20 landed after discipline-naming + named v0-shipped status. 3. **PR list incorrect** — frontmatter listed `#1247` (not in table) and excluded `#1249, #1257, #1259` (which ARE in table). Corrected to `#1245, #1248/#1249, #1250, #1252, #1253, #1254, #1255, #1256, #1257, #1259`. 4. **"Until tool ships" + "v0 shipped" contradiction** — reorganized §96 to put tool-status FIRST ("v0 shipped covering count-drift; v1+ extends to remaining 6 sub-classes; until v1+ ships covering all 7, the discipline outside count-drift is still manual"). 2 tick-shard findings (0049Z + 0058Z) NOT addressed — tick shards are append-only history preserving agent-belief-at-time. The shards accurately recorded my belief at write-time; the underlying memo is the canonical truth and is fixed in this PR. A note in the next tick shard acknowledges the over-claims. Drift instances #21 + #22 + #23 + #24 (this PR's own findings) are not yet catalogued in the table — they will land in the next sync pass to avoid recursing forever in this PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
6 tasks
AceHack
added a commit
that referenced
this pull request
May 3, 2026
…tmatter + body + MEMORY.md (#1259) * review(pr-1257-postmerge): update verify-then-claim count drift (9→18+) in frontmatter + body + MEMORY.md Copilot post-merge findings on PR #1257 (already merged): the body of verify-then-claim memo says "15+ drift instances" but the FRONTMATTER description and MEMORY.md index entry still say "9 drift instances" — count drift between body and metadata. This is itself drift instance #19 (count drift, sub-class already catalogued). Fixed in three places: 1. **Frontmatter description** updated 9 → 18+, names the PRs covered (#1245-#1256 and counting), names the 7 sub- classes catalogued, sharpens the manual-insufficient framing to reflect post-naming drift. 2. **Body line 91** ("9 drift instances above" → "18+ drift instances above across 7 recurring sub-classes"). 3. **MEMORY.md index entry** updated to reflect 18+ count + 7 sub-classes + manual-insufficient framing + the instances-#10-#18-landed-AFTER-naming evidence. The frontmatter ↔ body drift is itself a recurring sub-class within count-drift: when body content updates but metadata doesn't, the index summary lies. The substrate-claim-checker TS tool spec gets another check: scan frontmatter description + MEMORY.md entry against body content for count consistency. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-03T00:49Z — frontmatter↔body↔MEMORY.md count drift caught (drift #19) Body said 15+, frontmatter description + MEMORY.md said 9 — count drift across surfaces. Each new tick produces new drift instances even when the discipline cataloguing the drift was authored last tick. Mechanization (substrate-claim-checker TS tool) is the only path. Spec gets another concrete check: cross-surface count consistency. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review(pr-1259): add table rows #16-#20 to match the "20" count claim Copilot caught: frontmatter description + MEMORY.md said "18+ drift instances" but body table only had 15 rows — opposite- direction count drift introduced by the very PR fixing the prior count drift. **This is itself drift instance #20** — self-recursive count drift; the count-fix introduces new count drift in the opposite direction. Fix: added 6 catalogue rows to the body table (#16-#20) matching the claimed 20-instance count. Body now has 20 rows; all three surfaces (frontmatter description + body table + MEMORY.md index entry) consistent at 20. The 6 new rows document drift instances #16-#20 — including THIS PR's own drift as instance #20, demonstrating the self-recursive sub-class explicitly. Also updated: - Sub-class section: self-recursive instances now [#10, #11, #19, #20] - Body line 96: "20 drift instances above" + note that v0 of substrate-claim-checker shipped in PR #1260 - Frontmatter description: count → 20; instances range → #10-#20; v0 shipped reference - MEMORY.md: count → 20; v0 shipped reference This is the perfect worked example for the substrate-claim- checker tool's value: the very count-drift-fix produced new count drift, which the tool catches automatically. v0 (PR #1260) would have caught this pre-publish. Verified manually: `awk '/Drift instance/,/^$/'` + `grep -c "^| [0-9]"` returns 20 rows; matches all 3 surfaces. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-03T00:58Z — count-fix introduced opposite-direction drift; body extended to 20 rows Even authoring a PR to fix count drift produces opposite-direction count drift. Drift instance #20 self-recursively documents this PR's own drift. Substrate-claim-checker v0 (PR #1260) would have caught it pre-publish — empirical evidence v0 was the right architectural answer. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review(pr-1259): synchronize section heading + carved sentence + PR list + tool-status across memo 4 substantive findings on PR #1259 (in-flight): 1. **Section heading drift** — "## Empirical evidence (this session, 9+ PRs, 15+ distinct drift instances)" still said "15+" while body table has 20 rows + summary says 20. Updated heading to "20 distinct drift instances". 2. **Carved sentence stale at "9"** — line 115 still said "9 instances caught across 7 PRs". Updated to "20 instances across 9+ PRs" + named that instances #10-#20 landed after discipline-naming + named v0-shipped status. 3. **PR list incorrect** — frontmatter listed `#1247` (not in table) and excluded `#1249, #1257, #1259` (which ARE in table). Corrected to `#1245, #1248/#1249, #1250, #1252, #1253, #1254, #1255, #1256, #1257, #1259`. 4. **"Until tool ships" + "v0 shipped" contradiction** — reorganized §96 to put tool-status FIRST ("v0 shipped covering count-drift; v1+ extends to remaining 6 sub-classes; until v1+ ships covering all 7, the discipline outside count-drift is still manual"). 2 tick-shard findings (0049Z + 0058Z) NOT addressed — tick shards are append-only history preserving agent-belief-at-time. The shards accurately recorded my belief at write-time; the underlying memo is the canonical truth and is fixed in this PR. A note in the next tick shard acknowledges the over-claims. Drift instances #21 + #22 + #23 + #24 (this PR's own findings) are not yet catalogued in the table — they will land in the next sync pass to avoid recursing forever in this PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * hygiene(tick-history): 2026-05-03T01:06Z — 5-surface count-drift sub-pattern; prior shards over-claimed "all surfaces consistent" Memos have 5 count-bearing surfaces (frontmatter + body table + section heading + carved sentence + MEMORY.md), not just 3. Prior shards (0049Z + 0058Z) claimed "all 3 surfaces consistent" when the section heading + carved sentence still had stale counts. Acknowledgment lands here in append-only history; substrate-claim- checker v1+ spec gets enumeration of all count-bearing surfaces. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aaron 2026-05-02 named a discipline that mechanizes
depends_onrelationship-analysis at the two natural lifecycle points where the field's correct value is being decided. Captures the honest gap PR #1246 (schema completion) left open: "how are you deciding what depends on what?"The discipline (two trigger points)
depends_on:at file-time rather than the empty default. Aaron verbatim: "when wehn we create new backlog items we should search the baclog for anyting it might depend on from now on too and remember taht"Three outcomes per trigger
depends_on:; either pick up prereq first (proper-order) or defer originaldepends_on:, defer originaldepends_on:→ proceedWhy this matters
Mechanizes relationship-analysis incrementally. PR #1246 (schema completion 21/160 → 160/160) was honest about not doing relationship analysis. The relationship-analysis pass would otherwise need a separate ~13-15 hour concentrated effort with high abandon-rate risk. This discipline turns it into 0-2 discoveries per natural trigger as a byproduct of work being done.
The act of writing or starting IS the analysis. No separate effort needed; the pick / file ritual produces the substrate organically.
Composes with
memory/feedback_skill_flywheel_expansion_flywheel_parallel_tracks_substrate_aaron_2026_05_02.md— parallel-tracks dispatcher needsdepends_onfilled correctly; this discipline incrementally fills itmemory/feedback_largest_mechanizable_automatable_backlog_wins_in_AI_age_inverts_classical_PM_training_prior_aaron_2026_05_02.md— meta-thesis the discipline instantiatesmemory/feedback_never_idle_speculative_work_over_waiting.md— proper-order pick discipline composes; this is the local-adjacency rule for the aperiodic-tilingMEMORY.md pairing
Top-of-file newest-first entry added.
Tick shard 2337Z
Captures the cycle: depends_on schema-completion 100% concentrated effort + Daya AX audit applied to PR #1244 + STRONG-rule confirmation on specialist-invocation discipline.
Test plan
🤖 Generated with Claude Code